home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 1996 November
/
Chip 11-96.iso
/
workshop
/
howto
/
devices
< prev
next >
Wrap
Text File
|
1996-05-25
|
11KB
|
256 lines
T H E L I N U X D E V I C E L I S T
maintained by rick@ee.uwm.edu (Rick Miller, Linux Device Registrar)
Last revised: February 20, 1993
This is a list of the device names, along with Major and minor numbers,
which the Linux kernel may currently recognize. I say "may" because some
of them may require patches to your kernel, others must be configured-in
using the Linux kernel's "make config" routine before compiling.
Many thanks to all the folks that have gone to such trouble to write the
drivers for the devices listed here. I hope this list helps you folks!
IF YOU WANT ANY CHANGES OR ADDITIONS TO THIS LIST, *TELL ME*!
DEVICES NOT LISTED HERE SHOULD USE MAJOR NUMBERS *ABOVE 127*
UNTIL ALLOCATED A MORE PERMANENT NUMBER IN THE LOWER RANGE.
(I suggest using a more-or-less random number to avoid the
chance of collisions with any other experimental drivers.)
TO HAVE MAJOR/MINOR NUMBERS ALLOCATED (OFICIALLY) FOR
YOUR DEVICE DRIVER, SEND E-MAIL TO: RICK@EE.UWM.EDU
Majors:
0. Unnamed . (unknown) .... for proc-fs, NFS clients, etc.
1. Memory .. (character) .. ram, mem, kmem, null, port, zero, core
2. Floppy .. (block) ...... fd[0-1]<[dhDH]{360,720,1200,1440}>
3. AT-Disk . (block) ...... hd[a-d]<[0-8]>
4. Tty ..... (character) .. tty's and pty's
5. tty ..... (character) .. tty, cua[0-63]
6. Lp ...... (character) .. lp[0-2]
7. Tape? ... (block) ...... t[0-?] (reserved for Non-SCSI tape drives)
8. SCSI-Disk (block) ...... sd[a-h]<[0-8]>
9. SCSI-Tape (character) .. <n>st[0-1] or <n>rmt[0-1]
10. Mouse (character) .. logibm, psaux, inportbm, atibm, (mouse)
11. CD-ROM .. (block) ...... scd[0-1]
12. Loop? ... (block) ...... loop[0-1]
12. QIC-tape? (character) .. rmt{8,16}, tape<{-d,-reset}>
13. XT-disk . (block) ...... xd[a-b]<[0-8]>
14. Audio ... (character) .. audio, dsp, midi, mixer, sequencer
15. Joystick (?) .......... js0, js1
16. Socket .. (character) .. net, arp
17. AF_UNIX . (character) .. unix
18. AF_INET . (character) .. inet, ip, icmp, tcp, udp
19. "WE"-drv (character) .. we[0-3]
20. "DP8390" (character) .. wd[0-3], ec[0-3], ne[0-3]
Breakdown of minors by Majors:
------------------------------
0. Unnamed . (unknown) .... for proc-fs, NFS clients, etc.
Minors?
1. Memory .. (character) .. ram, mem, kmem, null, port, zero
0. /dev/ram: a BLOCK device (RAM-disk)
1. /dev/mem
2. /dev/kmem
3. /dev/null
4. /dev/port
5. /dev/zero
6. /dev/core: like /dev/mem, but in "core"-file format for gdb
2. Floppy .. (block) ...... fd[0-1]<[dhDH]{360,720,1200,1440}>
Minors are [drive + [4 * type]] where drive 0-3 == A:-D: (floppy)
and type is: 0: Autodetect 4: 720k on 3.5" DD
1: 360k on 5.25" DD 5: 360k on 5.25" HD
2: 1.2M on 5.25" HD 6. 720k on 5.25" HD
3: 360k on 3.5" DD 7. 1.44M on 3.5" HD
0. /dev/fd0: Autodetected first floppy.
1. /dev/fd1: Autodetected second floppy.
2. /dev/fd2: Autodetected third floppy.
3. /dev/fd3: Autodetected fourth floppy.
4. /dev/fd0d360: 360k on 5.25" DD in first drive
5. /dev/fd1d360: 360k on 5.25" DD in second drive
(You can work out the rest of the intermediates...)
8. /dev/fd0h1200: 1.2M on 5.25" HD in first drive
12. /dev/fd0D360 (/dev/fd0H360): 360k on 3.5" DD in first drive
16. /dev/fd0D720 (/dev/fd0H720): 720k on 3.5" DD in first drive
20. /dev/fd0h360: 360k on 5.25" HD in first drive
24. /dev/fd0h720: 720k on 5.25" HD in first drive
28. /dev/fd0H1440: 1.44M on 3.5" HD in first drive
Naming goes like this:
fd[drive][media][size]
where: [drive]=0-3: Corresponds to DOS's "A:"-"D:".
[media]={d,h,D,H}: d=Double Density 5.25" diskette
h=High Density 5.25" diskette
D=Double Density 3.5" diskette
H=High Density 3.5" diskette
[size]={360,720,1200,1440} kilobytes.
Floppies are assumed to be double-sided (DS), and
drives are assumed to be high-density devices.
3. AT-Disk . (block) ...... hd[a-d]<[0-8]>
(For IDE, MFM, and RLE drives and controllers.)
On the first AT controller card:
0. /dev/hda (/dev/hda0): The whole first HD, including its MBR.
1-4. /dev/hda{1-4}: Primary partitions on the first hard drive.
5-8. /dev/hda{5-8}: Extended partitions on the first hard drive.
64. /dev/hdb (/dev/hdb0): The whole second HD, including its MBR.
65-68. /dev/hdb{1-4}: Primary partitions on the second hard drive.
69-72. /dev/hdb{5-8}: Extended partitions on the second hard drive.
On the second AT controller card:
128. /dev/hdc (/dev/hdc0): The whole third HD, including its MBR.
129-132. /dev/hdc{1-4}: Primary partitions on the third hard drive.
133-136. /dev/hdc{5-8}: Extended partitions on the third hard drive.
192. /dev/hdd (/dev/hdd0): The whole fourth HD, including its MBR.
193-196. /dev/hdd{1-4}: Primary partitions on the fourth hard drive.
197-200. /dev/hdd{5-8}: Extended partitions on the fourth hard drive.
Notes: BE *VERY* CAREFUL WITH the four "whole drive" devices (hda,
hdb, hdc, and hdd)!! These four devices embody the *entire*
*drive*, not just one partition. The only things that use
them are things that need to read/change the partition table
(like fdisk).
Linux doesn't order anything. It perceives partitions in the
order in which they appear in the partition table. Thus,
/dev/hd?1 may follow /dev/hd?2 in the cylinder numbering.
The names of the hard drives are not the same as under Minix.
4. Tty ..... (character) .. tty's and pty's
0. /dev/tty0: This is the currently active Virtual Console.
1-63. /dev/tty[1-63]: Specific virtual consoles.
64-127. /dev/ttyS[0-63]: Serial ports (dial-in mode).
128-191. /dev/pty[p-s][0-f]: PTY Masters.
192-255. /dev/tty[p-s][0-f]: PTY Slaves. ([0-f]=0123456789abcdef)
Notes: There are several constants set in the kernel sources which
can be changed to compile a more customized kernel. They're
found in [/usr/src]/linux/include/linux/tty.h:
NR_CONSOLES The number of virtual consoles.
NR_SERIALS The number of serial lines.
5. tty ..... (character) .. tty, cua[0-63]
0. /dev/tty: the tty that owns the process calling it.
64-127. /dev/cua[0-63]: Serial ports (dial-out mode).
6. Lp ...... (character) .. lp[0-2]
Parallel (printer) ports. (Increasable in include/linux/lp.h)
0. /dev/lp0
1. /dev/lp1: Same as MS-DOS's "LPT1:" on my machine...
2. /dev/lp2
Notes: The number of line printers is defined by LP_NO which is
found in [/usr/src]/linux/include/lp.h.
Even if you only have one printer port, Linux may still call
it /dev/lp1 (rather than /dev/lp0). Watch during boot-up to
see how it recognizes your printer port.
7. Tape .... (block) ...... t[0-?] (reserved for Non-SCSI tape drives)
This one's getting old. No minor numbers are yet assigned.
It's not even in the source code. Maybe it never will be...
8. SCSI-Disk (block) ...... sd[a-h]<[0-8]>
Minors numbers are ((16 * Drive) + Partition)
where
Drive is the number of the physical drive in order of detection
and
Partition is as follows:
0 is the whole drive
1-4 are the DOS "primary" partitions
5-15 are the DOS "extended" (or "logical") partitions, so...
0. /dev/sda (/dev/sda0): The first (detected) SCSI drive.
1-4. /dev/sda[1-4]: Primary partitions on the first SCSI drive.
5-15. /dev/sda[5-15]: Extended partitions on the first SCSI drive.
16. /dev/sdb (/dev/sdb0): The second (detected) SCSI drive.
17-20. /dev/sdb[1-4]: Primary partitions on the second drive.
21-31. /dev/sdb[5-15]: Extended partitions on the second drive.
32. /dev/sdc (/dev/sdc0): The third (detected) SCSI drive.
...and so on.
9. SCSI-Tape (character) .. <n>st[0-1] or <n>rmt[0-1]
0. /dev/st0: First (detected) SCSI tape drive, rewind-on-close.
1. /dev/st1: Second (detected) SCSI tape drive, rewind-on-close.
128. /dev/nst0: First (detected) SCSI tape, *no* rewind-on-close.
129. /dev/nst1: Second (detected) SCSI tape, *no* rewind-on-close.
10. Mouse (character) .. logibm, psaux, inportbm, atibm, (mouse)
(MGR may require that /dev/mouse be linked to one of these...)
NOTE THE CHANGES TO DIFFERENTIATE MOUSE TYPES!
(Please implement these in the distributions.)
0. /dev/logibm: Logitec-'compatible' bus mouse
1. /dev/psaux: PS/2 mouse port (may not work on some lap-tops, yet)
2. /dev/inportbm: MicroSoft "InPort" bus mouse
3. /dev/atibm: ATI XL bus mouse
11. CD-ROM .. (block) ...... scd[0-1]
0. /dev/scd0: The first (detected) SCSI CD-ROM.
1. /dev/scd1: The second (detected) SCSI CD-ROM.
("There's not much more to it than that" says Eric Youngdale.)
12. Loop? ... (block) ...... loop[0-1]
(I have no idea what this is... Loopback Ethernet device, maybe?)
0. /dev/loop0
1. /dev/loop1
12. QIC-tape? (character) .. rmt{8,16}, tape<{-d,-reset}>
(I really don't have much info on this one... )
6. /dev/rmt8: QIC-120
8. /dev/rmt16 (/dev/tape): QIC-150
136. /dev/tape-d: (It has something to do with being 128+8... ?)
255. /dev/tape-reset: For resetting only.
13. XT-disk . (block) ...... xd[a-b]<[0-8]>
XT (8-bit) hard disk controller devices.
Minor numbers are assigned in the same manner as for the
normal (AT-type) Hard Drive devices ("/dev/hd*").
14. Audio ... (character) .. audio, dsp, midi, mixer, sequencer
0. /dev/mixer: Mixer and Control Device
1. /dev/sequencer: FM-synthesizer and Midi
2. /dev/midi: (for future use)
3. /dev/dsp: Digitized voice (DAC/ADC)
4. /dev/audio: (Reserved for compatibility with Sun)
15. Joystick (?) .......... js0, js1
0. /dev/js0: (Left/Right?) joystick.
1. /dev/js1: (Right/Left?) joystick.
16. Socket .. (character) .. net, arp
0. /dev/net: Generic layer (sockets)
1. /dev/arp: Address Resolution Protocol (ARP)
17. AF_UNIX . (character) .. unix
0. /dev/unix: AF_UNIX protocol layer
18. AF_INET . (character) .. inet, ip, icmp, tcp, udp
0. /dev/inet: AF_INET protocol layer
1. /dev/ip: Iner-net Protocol (IP)
2. /dev/icmp: Internet Communications Management(?) Protocol (ICMP)
3. /dev/tcp: Transport Control(?) Protocol (TCP)
4. /dev/udp: (?) Protocol (UDP)
19. "WE"-drv (character) .. we[0-3]
0-3. /dev/we[0-3]: "WE" driver
20. "DP8390" (character) .. wd[0-3], ec[0-3], ne[0-3]
0-3. /dev/wd[0-3]: "DP8390" driver, WD8003
8-11. /dev/ec[0-3]: "DP8390" driver, 3C503
16-19. /dev/ne[0-3]: "DP8390" driver, NE2000
Rick Miller <rick@ee.uwm.edu> | <rick@discus.mil.wi.us> Ricxjo Muelisto
Occupation: Husband, Father, WEPCo. WAN Mgr., Discus Sys0p, and Linux fan